A storage server is a computer system that is used to store and retrieve data on behalf of one or more clients on a network. A storage server operates on behalf of one or more clients to store and manage data in a set of mass storage devices, such as magnetic or optical storage-based disks or tapes. In conventional network storage systems, the mass storage devices may be organized into one or more groups of drives (e.g., redundant array of inexpensive drives (RAID)).
A storage server may be configured to service file-level requests from clients, as in the case of file servers used in a network attached storage (NAS) environment. Alternatively, a storage server may be configured to service block-level requests from clients, as done by storage servers used in a storage area network (SAN) environment. Further, some storage servers are capable of servicing both file-level and block-level requests, as done by certain storage servers made by NetApp, Inc. of Sunnyvale, Calif.
Storage servers may be operated in a cluster. A cluster is a group of loosely coupled computers that work together closely so that in many respects they can be viewed as though they are a single computer. The components of a cluster are commonly, but not always, connected to each other through fast local area networks. Clusters are usually deployed to improve performance and/or availability over that provided by a single computer, while typically being much more cost-effective than single computers of comparable speed or availability.
High-availability (HA) clusters (also known as failover clusters) are implemented primarily for the purpose of improving the availability of services which the cluster provides. They operate by having redundant nodes, which are then used to provide service when a storage server fails. HA cluster implementations attempt to manage the redundancy inherent in a cluster to eliminate single points of failure. Load-balancing clusters operate by having all workload come through one or more load-balancing front ends, which then distribute the workload to a collection of back end systems.
When a network storage server needs to be added to a network storage cluster, the configuration process with current technology is very complex and requires that a large amount of detailed information be entered by an administrator on each network storage server. For example, in certain systems, the storage server name, location, port, IP address for management interface, IP address for the first nameserver, IP address for the second nameserver, Netmask, DNS domain name, DNS resolver, remote management, protocol, etc. need to be specified or confirmed and these user inputs need to be repeated for each storage server being added to a cluster. It is desirable to implement a simpler and more time-efficient installation process for a network storage server to be added to a network storage cluster, to reduce the time and effort required for the installation as well errors occurring from the complexity.